package com.ruoyi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.LOrderbill;
import com.ruoyi.system.template.LOrderbillTemplate;
import com.ruoyi.system.vo.LOrderReportVo;
import com.ruoyi.system.vo.LOrderReportlParam;
import com.ruoyi.system.vo.LOrderbillVo;

/**
 * 订单Service接口
 *
 * @author zyb
 * @date 2022-01-02
 */
public interface ILOrderbillService extends IService<LOrderbill>
{
    /**
     * 查询订单
     *
     * @param billid 订单主键
     * @return 订单
     */
    public LOrderbill selectLOrderbillByBillid(Integer billid);

    /**
     * 查询订单列表
     *
     * @param lOrderbill 订单
     * @return 订单集合
     */
    public List<LOrderbill> selectLOrderbillList(LOrderbill lOrderbill);
    public List<LOrderbillVo> selectLOrderbillVoList(LOrderbill lOrderbill);

    /**
     * 新增订单
     *
     * @param lOrderbill 订单
     * @return 结果
     */
    public int insertLOrderbill(LOrderbill lOrderbill);

    /**
     * 修改订单
     *
     * @param lOrderbill 订单
     * @return 结果
     */
    public int updateLOrderbill(LOrderbill lOrderbill);

    /**
     * 批量删除订单
     *
     * @param billids 需要删除的订单主键集合
     * @return 结果
     */
    public int deleteLOrderbillByBillids(Integer[] billids);

    /**
     * 删除订单信息
     *
     * @param billid 订单主键
     * @return 结果
     */
    public int deleteLOrderbillByBillid(Integer billid);


    public Object getBillCode();


    public List<LOrderbillVo> orderListNotExebilldetail(Long areaId,Long billid);

    /**
     * 导入用户数据
     *
     * @param orderbillTemplateList 订单数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @return 结果
     */
    public String importOrder(List<LOrderbillTemplate> orderbillTemplateList, Boolean isUpdateSupport);


    /**
    * 报表
    * */
    public List<LOrderReportVo> orderReport(LOrderReportlParam orderReportlParam);
    List<LOrderbillVo> orderNotWaybill(Long billid);
}
